namespace IAM.Interface.DAL.Request
{
    using IAM.Interface.Common.Context;
    using IAM.Interface.DAL.Request.Interface;
    using IAM.Interface.IDAL;
    using IAM.Interface.Model;
    using IAM.Interface.Model.ENUM;
    using System;

    public class ACIMgnt : AbsTransmissionParameter, IACIMgnt
    {
        public ACMMode GetACIModel()
        {
            RequestContextModel rcm = new RequestContextModel(ActionType.IDEN_GETACMODEL, OperationType.Nullity, new NullityObj(), new NullityObj().GetType(), this.TranPar);
            RequestContextControl rcc = new RequestContextControl(rcm);
            string strreturn = rcc.Send();
            return (ACMMode) rcc.Incept(strreturn);
        }

        public ACI GetUserACI(AccountInfo accountinfo)
        {
            RequestContextModel rcm = new RequestContextModel(ActionType.IDEN_GETUSERACI, OperationType.Nullity, accountinfo, accountinfo.GetType(), this.TranPar);
            RequestContextControl rcc = new RequestContextControl(rcm);
            string strreturn = rcc.Send();
            return (ACI) rcc.Incept(strreturn);
        }

        public ACI SetUserACI(ACI aci)
        {
            RequestContextModel rcm = new RequestContextModel(ActionType.IDEN_SETUSERACI, OperationType.Nullity, aci, aci.GetType(), this.TranPar);
            RequestContextControl rcc = new RequestContextControl(rcm);
            string strreturn = rcc.Send();
            return (ACI) rcc.Incept(strreturn);
        }
    }
}
